from flask import Flask
# 防止脚本注入风险
from markupsafe import escape
# 重定向
from flask import redirect
# 操作请求
from flask import request
# 渲染模板
from flask import render_template

# 初始化整个服务器
app = Flask(__name__)


# 默认的路由
@app.route("/")
def hellow():
    return render_template("index.html")


# 定义其他的路由
@app.route("/name")
def get_name():
    # 返回一个网页内容
    return "<h1>ZhangSan.</h1>"


# 在/user下传递后面的内容
@app.route('/user/<username>')
def show_user_profile(username):
    # show the user profile for that user
    return f'User {escape(username)}'
    # return redirect("/") # 设置服务的重定向（跳转到指定的其他页面（路由））


# GET 请求与POST 请求
# GET 请求 主要是查询公开数据
# POST 请求 访问私密数据、提交信息、接收TOKEN...
@app.route("/login", methods=["POST"])
def login():
    # 如果是GET请求，可以在地址栏直接访问：http://localhost:9000/login?username=zhang&password=123
    # 获取请求中的字段
    username = request.form["username"]  # POST请求参数获取
    password = request.form["password"]  # POST请求参数获取
    # username = request.args.get("username","") # GET 请求参数获取
    # password = request.args.get("password","") # GET 请求参数获取
    print(username)
    print(password)
    return f"{username}:{password}"


# 上传文件
@app.route('/upload', methods=['POST'])
def upload_file():
    f = request.files['the_file'] # 获取文件对象
    f.save('./static/uploads/uploaded_file.png') # 将文件对象保存到服务器
    return redirect("/")


if __name__ == "__main__":
    app.run("localhost", 9000, debug=True)
    # app.run("127.0.0.1", 9000, debug=True)
